<?php 

	include("config.php");
    include(INCLUDEDIR."core.php");
	include(INCLUDEDIR."dompdf/dompdf_config.inc.php");
	include("acceso.php");
	
	$tpl = new PDF();
	$tpl->setTitulo("balance_".date("Ymd"));


	$fecha_desde = isset($_GET['fecha_desde'])?$_GET['fecha_desde']:"";
	$fecha_hasta = isset($_GET['fecha_hasta'])?$_GET['fecha_hasta']:"";
	
	$tpl->newBlock("BALANCE");
	$tpl->assign("fecha_desde",empty($fecha_desde)?"Siempre":$fecha_desde);
	$tpl->assign("fecha_hasta",empty($fecha_hasta)?date("d-m-Y"):$fecha_hasta);
	$tpl->assign("balance",tomoney(getBalance()));
	$tpl->assign("fecha_actual","el dia ".date("d-m-Y")." a las ".date("H:i:s"));
	$query = "SELECT __CAMPOS__ FROM transacciones LEFT JOIN personas ON transacciones.id_persona = personas.id_persona __WHERE__ ";		
			
	$orden = "ORDER BY transacciones.fecha_transaccion ASC, transacciones.stamp ASC ";
			
		
	$filtros = array();
	if($fecha_desde!="") {
		$filtros[] = "transacciones.fecha_transaccion >= '".fecha_a_db($fecha_desde)."'";	
	}
	
	if($fecha_hasta!="") {
		$filtros[] = "transacciones.fecha_transaccion <= '".fecha_a_db($fecha_hasta)."'";	
	}
	
	if(count($filtros)>0) {
		$query = str_replace("__WHERE__","WHERE (".implode(" AND ",$filtros).")",$query);	
	} else {
		$query = str_replace("__WHERE__","",$query);	
	}
	
	
	
	// PAGINACION 
	$maxitems = 30;	
	$totalitems =intval(db::ExecuteScalar(str_replace("__CAMPOS__","count(*)",$query)));
	$totalpaginas = ceil($totalitems/$maxitems);
	$pagina_actual = intval($_GET['pa']);
	$offset = $pagina_actual*$maxitems;
	$tpl->assign("paginacion",paginacion($totalpaginas,$pagina_actual,$totalitems));
	// PAGINACION
	
	$saldo = 0;
	if($fecha_desde!="") $saldo = getSaldoAnterior(fecha_a_db($fecha_desde));
	
	if($saldo>0) {
		$tpl->newBlock("BALANCEITEM");
		$tpl->assign("fecha_transaccion",$fecha_desde);
		$tpl->assign("descripcion","Saldo anterior");
		$tpl->assign("saldo",tomoney($saldo));
		
	}
	
	$consulta = str_replace("__CAMPOS__","*",$query).$orden." LIMIT $maxitems OFFSET $offset";
	$result = mysql_query($consulta);
	if($result && mysql_num_rows($result)>0) {
		$tpl->assign("saldo",tomoney($saldo));
		if($_GET['fecha_desde']) $tpl->assign("desde","Desde el ".$_GET['fecha_desde']);
		else {
			$desde = db_a_fecha(db::ExecuteScalar("SELECT min(fecha_transaccion) FROM transacciones"));
			$tpl->assign("desde","Desde el dia ".$desde);
		}
		$tpl->assign("hasta",$_GET['fecha_hasta']?"hasta el ".$_GET['fecha_hasta']:" hasta el ".date("d-m-Y"));
		while($fila = mysql_fetch_assoc($result)) {
			$tpl->newBlock("BALANCEITEM");
			$monto = floatval($fila['monto']);
			$saldo+=floatval($monto);
			$nombre = $fila['nombre_persona'];
			$tpl->assign("descripcion",$fila['descripcion']);
			$tpl->assign("nombre_persona",empty($nombre)?$fila['id_persona']:$nombre);
			$tpl->assign("fecha_transaccion",db_a_fecha($fila['fecha_transaccion']));			
			$color = $monto>0?"green":"red";
			if($monto<0) $campo = "egreso"; else $campo = "ingreso";
			$tpl->assign($campo,color(tomoney($monto),$color));
			$tpl->assign("saldo",tomoney($saldo));
		}		
	} 
	
	
	$tpl->setDownload();
?>